package com.zkthink.ceres.applet.order.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 服务下单表VO
 * @Author cmz
 * @Date 2024-04-30 10:38
 */

@Data
public class PlaceServerOrderVo {

    /**
     * 服务id
     */
    @ApiModelProperty(value = "服务或产品id",required = true)
    private Long serverId;

    @ApiModelProperty(value = "类型:产品分类/服务分类",required = true)
    private String productType;
    
    /**
     * 订单价格
     */
    @ApiModelProperty(value = "订单价格",required = true)
    private BigDecimal costs;

    /**
     * 付款金额
     */
    @ApiModelProperty(value = "付款金额",required = true)
    private BigDecimal cash;
    /**
     * 消费金额
     */
    @ApiModelProperty(value = "消费金额")
    @TableField("coupons")
    private BigDecimal coupons;

    /**
     * 支付方式:1-微信支付 2-余额支付
     */
    @ApiModelProperty(value = "支付方式:1-微信支付 2-余额支付",required = true)
    private Integer payChannel;
    

    /**
     * 用户选择预约上门和到店的时间
     */
    @ApiModelProperty(value = "用户选择预约上门和到店的时间(yyyy-MM-dd HH:mm)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date bookingTime;

    /**
     * 地址id 用户的地址信息(ceres_member_address )
     */
    @ApiModelProperty(value = "地址id 用户的地址信息(ceres_member_address)")
    private Long addressId;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String orderRamark;

    @ApiModelProperty(value = "客户端ip", hidden = true)
    private String ip;

    /**
     * 所患疾病
     */
    @ApiModelProperty(value = "所患疾病")
    private String diseasesSuffered;

    /**
     * 患病时间
     */
    @ApiModelProperty(value = "患病时间(yyyy-MM-dd HH:mm)")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date illnessTime;
    

    ////////////////////////////
    /**
     * 配送方式 1.门店取货 2.车辆取货 3.快递配送
     */
    @ApiModelProperty(value = "配送方式 对应值:服务(0-上门 1-到店) 产品(0-快递配送 1-车辆取货 2-门店取货 )",required = true)
    private Integer deliveryMethod;
    /**
     * 店铺id
     */
    @ApiModelProperty(value = "店铺id/车辆id")
    private Long storeId;

    private Long mid;
}
